1. Technical Field of the Invention
This invention relates to device name negotiations for establishing a client/server session.
2. Background Art
Due to the fact that virtual device names on the IBM iSeries (AS400) server can only be requested one at a time, various problems exist. Many client emulators give the users an option to manually request a virtual device by name, which they then use during negotiations with a remote server to procure a virtual device on the server system (as defined in Murphy, et al. 5250 Telnet Enhancements, Network Working Group Request for Comments (RFC) 2877). Depending on the emulator, if the device is not available, some emulators just disconnect the session and it is up to the user to figure out why the connection failed. Some emulators auto-increment the device name (if DEVICE0001 is not available, DEVICE0002 is tried). This is only useful if users only care about the beginning of the device name matching. In many cases this is not good enough, such as when customers want one device name out of list of specific names. It is possible for emulators to request the user pick a different name device if the initial device requested is not available. This method requires a lot of user intervention by manually typing the device names possibly over and over again.
Another drawback to requesting one name at a time is network congestion. During Telnet negotiation, if the named device is not available the client and server must renegotiate to agree upon a name device. Table 1 sets forth an example of a Telnet negotiation in which name devices can be requested one at a time.
From the example of Table 1, this renegotiating of virtual device names may not seem like that much for one client. However, for example, on a Monday morning when many get to work and try to log in, there may be thousands of client emulators all negotiating at the same time. This will significantly add to network congestion. Also, if these clients are all connecting to the same Telnet server, the server must not only handle steady state client requests (clients already having a session established) but must also handle the thousands of negotiating clients trying to agree upon a virtual device name. This can put quite a strain on the server, as well as the other applications running on the iSeries that have to share CPU cycles with it.
It is an object of the invention to provide an improved system and method for establishing client/server sessions.